Typical computer systems, especially computer systems using graphical user interfaces (GUIs), are optimized for accepting user input from one or more discrete input devices, such as a keyboard for entering text, and a pointing device, such as a mouse with one or more buttons, for operating the user interface. An example of such a GUI is the user interface for the Windows® computer operating system (available from Microsoft Corporation of Redmond, Wash.). The ubiquitous keyboard and mouse interface provides for fast creation and modification of documents, spreadsheets, database fields, drawings, photos, web pages, emails, and the like.
Recently, however, pen-based computing systems, such as tablet PCs and the like, have been increasing in popularity. In pen-based computing systems, user input advantageously may be introduced as electronic ink using an electronic “pen” or stylus (e.g., mimicking writing with a pen or pencil on a piece of paper). Indeed, in at least some pen-based computing systems, all user input is capable of being entered and manipulated using an electronic pen input device, and the user interface is fully controllable using only the electronic pen.
As pen-based computing systems become more popular, users are increasingly entering more data in the form of electronic ink. In many instances, users may wish to convert the original electronic ink data to machine-generated text, i.e., text suitable for use and manipulation by conventional word processing programs, spreadsheet programs, email programs, document management programs, web browsers, etc. While handwriting recognition technology for converting handwritten electronic ink text to machine-generated text has improved in recent years, recognizers of this type still are somewhat error prone, particularly for users with poor handwriting, users that write at an angle, and/or users that write very quickly. Additionally, because such systems typically rely on conventional dictionaries, specialized terms, abbreviations, acronyms, and the like often are not correctly recognized. Accordingly, machine-generated text produced by a recognizer often still needs to be corrected and/or otherwise changed or edited by the user.
Handwriting recognizers (and other recognition systems (such as speech recognition systems), spell-check systems, grammar check systems, thesaurus programs, and the like) typically make their best efforts to produce the correct machine-generated text, but these systems recognize that errors occur. Accordingly, conventional recognizers and other programs typically produce a list of potential alternative words or characters for at least some of the recognized text, and they make this information available to the user, e.g., as the program is running on a document or a selection within a document. While the availability of these potential alternatives can greatly enhance and speed up the editing process, once the program is closed or a correction is made, this potential alternative data typically is lost and/or unavailable to the user. Additionally, when the machine-generated text is introduced into another application program or document, the potential alternative data is not (or cannot be) maintained by the new application program or document, and therefore, it is no longer available to the user. Accordingly, if further edits or changes are desired, a user must resort to other editing techniques that do not use the previously generated alternatives, or, if possible, he or she must rerun the original program to again obtain a listing of alternatives.
At least some existing user interfaces for editing, changing, and/or correcting machine-generated text using only an electronic pen and a pen-based computing system can be awkward, cumbersome, and difficult to use. For example, in at least some systems, users can call up and use a soft keyboard and the pen to edit text. Soft keyboards, however, can be slow, cumbersome, and frustrating to use, particularly when a large amount of text must be reviewed and edited. In still other instances, a user may attach and/or use a hard keyboard with a pen-based computing system to edit text. Some users, however, do not wish to use these keyboards, and the requirement to keep a hard keyboard available for editing can make the computing system larger, heavier, and more difficult to handle.
The above-noted difficulties in using electronic pens and pen-based computing systems to modify or edit machine-generated text and documents can lead to user frustration, and it can hamper use and adoption of the pen-based computing system. Accordingly, there is a need in the art for improved modifying and editing capabilities for use in a wide variety of application programs and document types that allow users to quickly, easily, and efficiently access, review, edit, and change machine-generated text using electronic ink and/or an electronic pen associated with a pen-based computing system.